package com.ruoyi.project.system.service.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.project.system.domain.SysTask;
import com.ruoyi.project.system.domain.bo.ExpressBo;
import com.ruoyi.project.system.domain.bo.MyTaskBo;
import com.ruoyi.project.system.mapper.SysTaskMapper;
import com.ruoyi.project.system.service.ISysTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 配送任务Service业务层处理
 *
 * @author orange
 * @date 2022-04-08
 */
@Service
public class SysTaskServiceImpl implements ISysTaskService {
  @Autowired private SysTaskMapper sysTaskMapper;

  /**
   * 查询配送任务
   *
   * @param taskId 配送任务主键
   * @return 配送任务
   */
  @Override
  public ExpressBo selectSysTaskByTaskId(Long taskId) {
    return sysTaskMapper.selectSysTaskByTaskId(taskId);
  }

  /**
   * 查询配送任务列表
   *
   * @param sysTask 配送任务
   * @return 配送任务
   */
  @Override
  public List<ExpressBo> selectSysTaskList(SysTask sysTask) {

    return sysTaskMapper.selectSysTaskList(sysTask);
  }

  /**
   * 新增配送任务
   *
   * @param sysTask 配送任务
   * @return 结果
   */
  @Override
  public int insertSysTask(SysTask sysTask) {
    sysTask.setCreateTime(DateUtils.getNowDate());
    return sysTaskMapper.insertSysTask(sysTask);
  }

  /**
   * 修改配送任务
   *
   * @param sysTask 配送任务
   * @return 结果
   */
  @Override
  public int updateSysTask(SysTask sysTask) {
    sysTask.setUpdateTime(DateUtils.getNowDate());
    return sysTaskMapper.updateSysTask(sysTask);
  }

  /**
   * 批量删除配送任务
   *
   * @param taskIds 需要删除的配送任务主键
   * @return 结果
   */
  @Override
  public int deleteSysTaskByTaskIds(Long[] taskIds) {
    return sysTaskMapper.deleteSysTaskByTaskIds(taskIds);
  }

  /**
   * 删除配送任务信息
   *
   * @param taskId 配送任务主键
   * @return 结果
   */
  @Override
  public int deleteSysTaskByTaskId(Long taskId) {
    return sysTaskMapper.deleteSysTaskByTaskId(taskId);
  }

  @Override
  public List<MyTaskBo> getMyTaskList(Long userId) {
    return sysTaskMapper.getMyTaskList(userId);
  }
}
